package Day_0226.FactoryPattern;

/**
 * @author zxc
 * @date 2023/02/26 21:07
 **/
public class FactoryPattern_Summary {
    public static void main(String[] args) {
        /**
         * 对于工厂模式的总结
         * ===》
         * 1.简单工厂模式
         * ===》
         * （1）即，所有具体的产品类都继承了某个产品接口;
         * （2）所有具体产品类实例，都是可以通过 核心工厂实现类来进行获取;
         * （3）即，核心工厂类是可以去创建所有具体产品实现类;
         *
         * 2.工厂方法模式
         * ===>
         * （1）即，所有具体的产品类也是继承了某个产品接口;
         * （2）核心工厂接口中，定义了具体产品类实例的创建方法;
         * （3）每一个具体产品类实例，都是由 其对应的产品工厂类来进行创建（继承了核心工厂接口）;
         * （4）即，工厂方法模式中，具体产品类实例是由其对应的具体产品工厂类 来进行生产的;
         *
         * 3.抽象工厂模式
         * ===》
         * （1）即，所有具体的产品类也是继承了某个产品接口;
         * （2）核心工厂接口中，定义了每一个产品类实例的创建方法;
         * （3）核心工厂实现类，来决定 所定义的产品类实例创建方法中 去创建哪个具体的产品类实例;
         * （4）即，抽象工厂模式是可以创建 不同的产品类中所有的具体产品实现类实例;
         *
         */
    }
}
